package fileHomeWork.day02;


import java.io.*;

/**
 * 将当前项目目录下的所有.txt文件复制一份。
 * 复制文件的名字格式:原文件名_cp.txt
 * <p>
 * 例如:
 * 复制当前项目目录下的demo.txt时，复制的文件名为demo_cp.txt
 */
public class Test03 {
    public static void main(String[] args) throws IOException {
        //创建file实例用来获取当前项目中满足条件的子项目
        File fIle = new File("./");
        File[] fileName = fIle.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().endsWith(".txt");
            }
        });

        //遍历满足条件的子项目名称
        for (File f : fileName) {
            String name = f.getName(); //当前满足条件的文件名称
            //创建输入流对象
            FileInputStream fileInputStream = new FileInputStream("./" + name);
            //将.txt摘出去
            String outName = name.substring(0, name.lastIndexOf("."));
            //创建输出流对象
            FileOutputStream fileOutputStream = new FileOutputStream("./" + outName + "_cp.txt");
            //根据当前文件大小 来确定数组的大小
            byte[] byt = new byte[fileInputStream.available() + 1];
            int len;
            while ((len = fileInputStream.read(byt)) != -1) { //读取数据并返回数据
                //将byt数组中存放的数据写到新的文件中
                fileOutputStream.write(byt);
            }
            fileInputStream.close();
            fileOutputStream.close();
        }


    }
}
